package com.example.util;

import java.security.SecureRandom;
import java.util.Base64;

public class SecretKeyGenerator {

    public static String generateSecretKey(int length) {
        SecureRandom secureRandom = new SecureRandom();
        byte[] key = new byte[length];
        secureRandom.nextBytes(key);
        return Base64.getEncoder().encodeToString(key);
    }

    public static String generateAesKey() {
        // 生成 16 字节的 AES 密钥
        return generateSecretKey(16);
    }

    public static String generateInitVector() {
        // 生成 16 字节的初始化向量 (IV)
        return generateSecretKey(16);
    }

    public static void main(String[] args) {
        String secretKey = generateSecretKey(32); // 32 字节密钥
        System.out.println("Generated Secret Key: " + secretKey);

        String aesKey = generateAesKey(); // 生成 AES 密钥
        System.out.println("Generated AES Key: " + aesKey);

        String initVector = generateInitVector(); // 生成 IV
        System.out.println("Generated Init Vector: " + initVector);
    }
}
